Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Game object



  Bug caused by using changeable value as the default in "python method overload"​

In python we can set the passed in parameter's default value to make the function has the same running feature as the method overload in Java. Define a function like this: def testFunction(self, param1, param2=None, param3=None): Normally we use "None" as the parameter's default value. We can also use str/bool as the default value, but is it OK we use empty list [] as its default value? This is our test program: """ A test program using empty list as the passed-in parameter's default value. ...

   PYTHON     2019-03-11 08:52:52

  Check file readability in Java

File operation is quite platform dependent. Although Java is a cross platform programming language, the file operation in Java is also platform dependent. The obvious evidence is the file permission check. In Java, we can call canRead(), canWrite() and canExecutable() to check whether the program can read, write or execute the file specified. However, on Windows, when we call canRead() on a File object, we may get unexpected result. Actually, on Windows, when we call canRead() on a File object, ...

   Java,Files,Readable,Check     2013-12-05 06:10:15

  How to write your own DSL in Ruby

DSL(Domain Specific Language) is a language defined to fulfill some domain specific requirements to ease people's work. It can be used to define attributes and actions of a domain easily and cleanly. And it is often created based on some common observations or micro patterns of some domain. In Ruby world, there are quite a few places people can find DSL. For example, Ruby itself, Chef recipes. To create a class in Ruby, the traditional OOP way would look like. class User @name = nil @email =...

   RUBY,DSL,TUTORIAL     2017-03-04 09:40:34

  What can we do about Facebook?

Around 4 years ago, we have posted an article Is Facebook becoming Tencent like? to analyze the strategy Facebook adopted to build its technology empire at that time. Today, we would continue this discussion since the story seems not end there. Facebook is still on the way of copying others. The latest victim being copied is Snapchat where lots of its new features have been copied by Instagram -- an app owned by Facebook. This has helped Instagram acquired lots of active users, especi...

   FACEBOOK,OPINION,SNAPCHAT,NEWS     2017-08-11 10:39:37

  An Object is not a Hash

Following my article A String is not an Error, I want to bring attention to an issue that similarly applies to JavaScript in general, but has special relevance in the Node.JS environment. The problem boils down to the usage of {} as a data-structure where the keys are supplied by untrusted user input, and the mechanisms that are normally used to assert whether a key exists. Consider the example of a simple blog created with Express. We decide to store blog posts in memory in a {}, indexed ...

   Object,Hash,Node.js,JavaScript     2012-01-19 10:16:10

  An alternative way to parse URL in JavaScript

Normally when we need to process URL in JavaScript, we may use the location object. Then we can use location.hostname,location.href,location.port etc to get the information we need. In this post, we will parse an URL with an alternative way. We can use an URL to create a DOM object by calling document.createElement("a"). The complete code is: function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.ho...

   URL,location,parse     2014-03-03 07:05:11

  Mutli-inheritance bug between python 2.7 and 3.7

When we have run a py3.7 code under py2.x or a py2.x code under 3.x ,if a class do mutli-inheritance from 2 parent and the 2 parents also got inheritance from same parent, the different way to handle inheritance chain between python 2 and 3 will cause some running time bug: Assume we got this sample program inheritTest.py : # Purpose: Test mutli-inheritance different between python2 and 3 # Author: Yuancheng Liu # Created: 2019/05/16 class A: def getVal(self): print("cal...

   PYTHON,PYTHON 3,INHERITANCE     2019-05-16 08:33:52

  Is Facebook becoming Tencent like?

Recently there is news that Facebook is developing a Reader application which is to compete with Flipboard and Pulse. This reminds me a few movements of Facebook in the past few months. First they built a copy of Snapchat named Poke which failed badly at last. Then they launched a new feature on Instagram named Video on Instagram which allows users to shoot and share short videos up to 15 seconds. This feature is to compete with Vine from Twitter. It seems Instagram wins over Vine on this. You c...

   Facebook,Tencent,Copy     2013-06-24 01:17:27

  Some geek mats to welcome guests

Geeks are mostly otaku, they like surfing the Internet, playing games. Perhaps not everyone is a programmer, but most of them have some understanding of programming. It is undoubtedly very necessary to have a specific pattern mat at the door as a glorious proud geek, what mat should you use? 1. Binary Floor/Door Mat There are 10 kinds of people in the world, one is understanding binary code, the other one who doesn't understand binary code. The above binary mat is the binary codes of " welcome"...

   Mat,Geek,Entertainment     2012-10-05 19:39:24

  C++, Ruby and CoffeeScript complexity comparison

There are many programming languages around the world, they all designed to help programmer solve some problems, finish some tasks. These languages are often divided into different types, there are structural, object-oriented, functional, scripting languages etc. Some are easy to pick up such as Java, while some are thought to be difficult to learn such as C++. So how do we understand complexities of different programming languages?Many people agree that C++ is very complex languages, it has poi...

   Complexity, languages, C++,Ruby,CoffeeScript     2012-06-12 04:46:01